package com.jsle.financial.service;

import com.jsle.financial.domain.Node;
import com.jsle.financial.domain.User;
import com.jsle.financial.domain.Workflow;
import com.jsle.financial.vo.Result;

public interface WorkflowService {

	public Result saveAmountWorkflow(Workflow workflow);
	
	public Result saveAmountNode(Node node);
	
	public Result queryWorkflowByCode(String workflowCode);
	/**
	 * 更新流程状态、下一节点编号、下一节点审批人数、下一节点审批人已审批操作的人数
	 * @param workflow
	 * @return
	 */
	public Result updateWorkflow(Workflow workflow);
	
	/**
	 * 查询审批人的审批流程任务
	 * @param user
	 * @return
	 */
	public Result queryWorkflowByUser(User user);
	
	public Result queryWorkflowBySelf(Workflow workflow);
	/**
	 * 根据流程编号workflowcode获取流程及节点信息
	 * @param workflow
	 * @return
	 */
	public Result queryWorkflowAndNodes(Workflow workflow);
	/**
	 * 根据流程编号workflowcode获取节点信息
	 * @param workflow
	 * @return
	 */
	public Result queryNodes(Workflow workflow);
	/**
	 * 更新节点信息
	 * @param node
	 * @return
	 */
	public Result updateNode(Node node);
	/**
	 * 查询审批结果
	 * @param workflow
	 * @return
	 */
	public Result queryWorkflowByWorkflow(Workflow workflow);
}
